12.2 Настройка IGMP
12.2.1 Обзор
Введение в функциональность
Для участия в IP-мультикастах хосты мультикастов, маршрутизаторы и коммутаторы уровня L3 должны иметь активный IGMP. Этот протокол определяет роли запросчика (querier) и хоста:
- Запросчик (querier) — это сетевое устройство, которое отправляет запросы (query messages), чтобы определить, какие устройства сети являются участниками заданной группы мультикастов.
- Хост — это получатель, который отправляет отчеты (report messages) в ответ на запросы, чтобы уведомить запросчик о своем участии в группе.
- Набор запросчиков и хостов, которые получают мультикастовые потоки данных из одного источника, называется группой мультикастов. Запросчики и хосты используют сообщения IGMP для присоединения к группе мультикастов и выхода из нее.
Любой хост, независимо от того, является ли он членом группы, может отправлять данные в группу. Однако только участники группы получают сообщения.
Членство в мультикастовой группе является динамическим: хосты могут присоединяться и покидать группу в любое время. Нет ограничений по местоположению или количеству участников в мультикастовой группе.
Хост может одновременно быть членом нескольких мультикастовых групп. Активность группы мультикастов и ее состав могут меняться. Группа может быть активной долгое время или иметь короткий срок жизни. Участники группы могут постоянно изменяться, а группа с участниками может быть неактивной.
IGMP-пакеты отправляются с использованием следующих адресов IP-групп мультикастов:
- Общие запросы IGMP отправляются на адрес 224.0.0.1 (все системы в подсети).
- Специфические для группы запросы IGMP отправляются на IP-адрес группы, для которой коммутатор выполняет запрос.
- Сообщения о членстве в группе IGMP отправляются на IP-адрес группы, для которой коммутатор сообщает.
- Сообщения о выходе из группы IGMP версии 2 (IGMPv2) отправляются на адрес 224.0.0.2 (все мультикастовые маршрутизаторы в подсети). В некоторых старых IP-стэках хостов сообщения о выходе могут быть отправлены на IP-адрес группы, а не на адрес всех маршрутизаторов.
Описание принципа работы
Ссылки на RFC 1112, RFC 2236, RFC 3376
12.2.2 Конфигурация
Включение IGMP происходит автоматически при включении PIM-SM на интерфейсе. Однако перед использованием IGMP необходимо включить глобальную маршрутизацию мультикастов. IGMP-группы могут создаваться как автоматически на основе пакетов IGMP, так и статически администратором.
Шаг 1: Перейдите в режим конфигурации
Switch# configure terminal
Шаг 2: Включите глобальную маршрутизацию мультикастов
Switch(config)# ip multicast-routing
Шаг 3: Настройте атрибуты и IP-адреса интерфейсов
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.10.10/24
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.11.10/24
Switch(config-if)# exit
Шаг 4: Включите PIM-SM на интерфейсе
Switch(config)# interface eth-0-1
Switch(config-if)# ip pim sparse-mode
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# ip pim sparse-mode
Switch(config-if)# exit
Шаг 5: Настройте параметры IGMP
Switch(config)# interface eth-0-1
Switch(config-if)# ip igmp version 2
Switch(config-if)# ip igmp query-interval 120
Switch(config-if)# ip igmp query-max-response-time 12
Switch(config-if)# ip igmp robustness-variable 3
Switch(config-if)# ip igmp last-member-query-count 3
Switch(config-if)# ip igmp last-member-query-interval 2000
Switch(config-if)# exit
Шаг 6: Установите максимальное количество IGMP-групп (опционально)
Максимальное количество IGMP-групп ограничивается глобально или для каждого интерфейса отдельно.
Switch(config)# ip igmp limit 2000
Switch(config)# interface eth-0-1
Switch(config-if)# ip igmp limit 1000
Шаг 7: Настройте статическую IGMP-группу
Switch(config-if)# ip igmp static-group 228.1.1.1
Switch(config-if)# exit
Шаг 8: Настройте IGMP-прокси (опционально)
Switch(config)# interface eth-0-1
Switch(config-if)# ip igmp proxy-service
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# ip igmp mroute-proxy eth-0-1
Switch(config-if)# exit
Шаг 9: Выйдите из режима конфигурации
Switch(config)# end
Шаг 10: Проверка
Используйте следующую команду для отображения информации об интерфейсах IGMP:
Switch# show ip igmp interface
Interface eth-0-1 (Index 1)
IGMP Inactive, Version 2 (default) proxy-service
IGMP host version 2
IGMP global limit is 2000
IGMP global limit states count is currently 0
IGMP interface limit is 1000
IGMP interface has 0 group-record states
IGMP activity: 0 joins, 0 leaves
IGMP query interval is 120 seconds
IGMP querier timeout is 366 seconds
IGMP max query response time is 12 seconds
Last member query response interval is 2000 milliseconds
Group Membership interval is 372 seconds
Last memeber query count is 3
Robustness Variable is 3
Interface eth-0-2 (Index 2)
IGMP Inactive, Version 2 (default)
IGMP mroute-proxy interface is eth-0-1
IGMP global limit is 2000
IGMP global limit states count is currently 0
IGMP interface limit is 16384
IGMP interface has 0 group-record states
IGMP activity: 0 joins, 0 leaves
IGMP query interval is 125 seconds
IGMP querier timeout is 255 seconds
IGMP max query response time is 10 seconds
Last member query response interval is 1000 milliseconds
Group Membership interval is 260 seconds
Last memeber query count is 2
Robustness Variable is 2
Используйте следующую команду для отображения информации о группах:
Switch# show ip igmp groups
IGMP Connected Group Membership
Group Address Interface Uptime Expires Last Reporter
228.1.1.1 eth-0-1 00:00:05 stopped -